package cn.xxm.ff.log.core.enums;

import lombok.Getter;

/**
 * Created by xuxiaoming005 on 2018-08-21.
 */
@Getter
public enum DesensitizationTypeEnum {

    /**
     * 卡号，保留前六后四
     */
    CardNames("cardNames", 6, 4),
    /**
     * 中文名，保留前一后一
     */
    CustKeyNamesChinese("custKeyNames", 1, 1),
    /**
     * 英文名，保留前三后三
     */
    CustKeyNamesEnglish("custKeyNames", 3, 3),
    /**
     * 电话号码，保留前三后二
     */
    PhoneKeyNames("phoneKeyNames", 3, 2),
    /**
     * 电子邮件，保留前二后二
     */
    EmailKeyNames("emailKeyNames", 2, 2),
    /**
     * 身份证号码， 保留前六后四
     */
    IdNoKeyNames("idNoKeyNames", 6, 4),
    /**
     * 住址，保留前三后三
     */
    HomeAddressKeys("homeAddressKeys", 3, 3),
    /**
     * 其他字段类型，全部替换
     */
    OtherKeyNames("otherKeyNames", 0, 0),
    ;

    // 脱敏类型
    private String type;
    // 脱敏开始位置，从前数
    private int startIndex;
    // 脱敏结束位置，从后数
    private int endIndex;


    private DesensitizationTypeEnum(String type, int start, int end) {
        this.type = type;
        this.startIndex = start;
        this.endIndex = end;
    }


}
